package fr.afcepf.atod12.projet1.dao.tests;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import junit.framework.TestCase;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;

import fr.afcepf.atod12.projet1.dao.interfaces.IDaoPersonne;
import fr.afcepf.atod12.projet1.entities.Patient;



@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"/springContextAnot.xml"})
@TransactionConfiguration(transactionManager="txManager",defaultRollback=false)
@Transactional
public class TestDaoPersonne extends TestCase {

	@Autowired
	private IDaoPersonne daoPersonne;

//	@Test
//	public void testGetAllPatient(){
//		List<Patient> listePatient = daoPersonne.getAllPatient();
//		System.out.println("taille de la liste : " + listePatient.size());
//		Patient p = null;
//		for(Patient pers : listePatient){
//			if(pers.getIdPatient() == 4){
//				p = pers;
//			}
//			System.out.println(pers);
//		}
//		for (Evenement ev : p.getEvenements()) {
//			System.out.println(ev);
//		}
//	}
//
//	@Test
//	public void testGetAllMedecin(){
//		Collection<Personne> listePatient = daoPersonne.getAllMedecin();
//		System.out.println("taille de la liste : " + listePatient.size());
//		for(Personne pers : listePatient){
//			System.out.println(pers);
//		}
//	}
//
//	@Test
//	public void testGetMedecinByName(){
//		Collection<Personne> listePatient = daoPersonne.getMedecinByName("J");
//		System.out.println("taille de la liste : " + listePatient.size());
//		for(Personne pers : listePatient){
//			System.out.println(pers);
//		}
//	}
//
	@SuppressWarnings("unused")
	@Test
	public void testGetPatientByName() {
		List<Patient> listePatient = daoPersonne.getPatientByName("patient4");
		System.out.println("taille de la liste : " + listePatient.size());
		for(Patient pers : listePatient){
			System.out.println(pers);
		}
	
		try {
			SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
			Date date = format.parse("2001-01-01");
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}
//
//	@Test
//	public void testGetMedecinById(){
//		Personne medecin = daoPersonne.getMedecinById(1);
//		System.out.println(medecin);
//	}
//
//	@Test
//	public void testGetPatientById(){
//		Personne medecin = daoPersonne.getPatientById(2);
//		System.out.println(medecin);
//	}

//	@Test
//	public void testCreatePatient(){
//		Personne patient = new Personne(null, "M", new Date(), new Date(), "", "", "", "Patient1", "", "afcepf", "Patient1", "patient", "", "", "patient1", null, null, null, null);
//		Personne patient = new Personne(new Date(), "patient1", "patient1", "patient1", "patient");
//		patient.setAdresse(new Adresse(null,"","75000","","","","Paris",null,null));
//		daoPersonne.createPersonne(patient);
//	}
//	@Test
//	public void testCreateMedecin(){
//		Personne medecin = daoPersonne.getPatientById(2);
//		System.out.println(medecin);
//	}
//	@Test
//	public void testDeleteMedecin(){
//		Personne medecin = daoPersonne.getPatientById(2);
//		System.out.println(medecin);
//	}
//	@Test
//	public void testDeletePatient(){
//		Personne medecin = daoPersonne.getPatientById(2);
//		System.out.println(medecin);
//	}
//
//	@Test
//	public void testUpdatePatient(){
//		Personne medecin = daoPersonne.getPatientById(2);
//		System.out.println(medecin);
//	}
//	@Test
//	public void testUpdateMedecin(){
//		Personne medecin = daoPersonne.getPatientById(2);
//		System.out.println(medecin);
//	}
}
